package com.project.business.api;

import com.ext.lib001.TestService001;
import com.ext.lib002.TestService002;
import com.ext.lib003.TestService003;
import org.noear.solon.annotation.Controller;
import org.noear.solon.annotation.Inject;
import org.noear.solon.annotation.Mapping;

/**
 * 这个 controller 是为了 测试 ext-lib，引入外部包的常见3中情况
 * 1. 不需要注入的 ext-lib001
 * 2. 需要注入的 ext-lib002，但是要在Main启动的时候，加上Import注解才能生效
 * 3. 需要注入的 ext-lib003，这个采用Spi机制，即自动加载到容器中
 */
@Controller
@Mapping("/test")
public class TestResource {

    @Inject
    private TestService002 testService002;

    @Inject
    private TestService003 testService003;


    @Mapping("/1")
    public String hello1() {
        return new TestService001().getMessage();
    }
    @Mapping("/2")
    public String hello2() {
        return testService002.getMessage();
    }
    @Mapping("/3")
    public String hello3() {
        return testService003.getMessage();
    }
}
